Field of the Invention
The present invention relates to software application update distribution and more particularly to determining a frequency of distributing software updates to end user devices.
Description of the Related Art
When a new software application is acquired (whether or not through licensing or outright purchase), the software application usually must be installed on the target data processing system before it can be used. Typically, software applications include as a component thereof an installer, which provides logic that substantially automates the installation process. In addition, computer operating systems typically include an installer for use in installing operating system updates, drivers or other operating system components. In addition, many commercial software applications are provided with a process by which they may be updated. Such a process can be included as a component of the software application itself, or the process may be provided externally.
The provision of an updating process is desirable because software applications are frequently modified by end users, for example by applying bug fixes or enhancements (such as new versions of the software). There are many different processes for installing and/or updating software applications. Some processes are entirely automated and substantially invisible to the user, while others are interactive. Some are complex while others are simpler. Program logic used to install new software applications, to install updates to existing software applications, and to uninstall (remove) software applications are referred to herein as “installers”. The term “installers” is intended to encompass both “standalone” logic that can be used to install a variety of software applications (for example, such as installers that may be provided with an operating system), as well as logic adapted to install only a single software application (and may be integrated with the installation file package for that software application). Thus, installer applications, when run, implement a software installation process.
Installer applications generally prompt the end user only for the simple decision of installing an application update or deferring an available update. More sophisticated installer applications provide an indication of the degree of urgency in installing an available update before prompting the end user with a choice of proceeding with an installation or deferring installation of an available update. For computer software experiencing only a few updates over an extended period of time, little more is required to facilitate in the determination by an end user as to whether or not to proceed with an application update. However, with the advent of agile software development, updates to deployed applications can be much more frequent. For an end user facing weekly if not daily proposals by an installer application to update an application, it can be difficult to determine which updates to apply and which to defer.